package com.engineering.elink.dao;

import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.engineering.elink.co.PersonMuitlTypeCo;
import com.engineering.elink.co.PersonUpdateCo;
import com.engineering.elink.domain.Person;

public interface PersonMapper {
    int deleteByUserId(String userId);

    int insert(Person record);

    int insertSelective(Person person);

    Person selectByUserId(String userId);

    int updateByPrimaryKeySelective(Person person);
    
    int updateByPrimaryKey(Person person);
    /**
     * 通过UserId修改个人信息
     * @note 通用接口
     * @param person
     * @return
     */
    int updateByUserIdSelective(Person person);
    /**
     * 获取个人档案
     * @param userId
     * @return
     */
    Map<String,Object> selectPersonInfoByUserId (String userId);
    /**
     * 获取个人中心各种分类(职业状态，职业，专业，工程类目)
     * @param personMuitlTypeCo
     * @return
     */
    int updateByUserIdFromPersonMuitlTypeCoSelective(PersonMuitlTypeCo personMuitlTypeCo);
    /**
     * 修改个人档案
     * @param person
     * @return
     */
    int updateByUserIdFromPersonSelective(PersonUpdateCo personUpdateCo);
    /**
     * 获取自己访问的顶部个人信息
     * @param userId
     * @return
     */
    Map<String,Object> selectBasePersonInfoByMine (@Param("userId") String userId);
    /**
     * 获取访问他人的顶部个人信息
     * @param userId
     * @param otherUserId
     * @return
     */
    Map<String,Object> selectBasePersonInfoByOther (@Param("userId") String userId,@Param("otherUserId") String otherUserId);

//    int selectTodayInfluenceValue(@Param("userId") String userId);
    
}